﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ContaTelefone.Data
{
    public class NUMEROS_TELRepository
    {
        ContaTelefoneEntities entity;
        
        public NUMEROS_TELRepository()
        {
            entity = ContaTelefoneContext.getInstance();
        }

        public IQueryable<NUMEROS_TEL> GetNUMEROS_TELs()
        {
            return ContaTelefoneContext.getInstance().NUMEROS_TEL;
        }

        public IList<NUMEROS_TEL> GetAll()
        {
            return ContaTelefoneContext.getInstance().NUMEROS_TEL.ToList();
        }

        public NUMEROS_TEL getNUMEROS_TEL(string pTELEFONE)
        {
            return entity.NUMEROS_TEL.SingleOrDefault(a => a.TELEFONE == pTELEFONE);
        }

        public void Update()
        {
            try
            {
                entity.SaveChanges();
            }
            catch (Exception ex)
            {
                ContaTelefoneContext.removeInstance();
                throw ex;
            }
        }

        public void Add(NUMEROS_TEL pNUMEROS_TEL)
        {
            try
            {
                entity.AddToNUMEROS_TEL(pNUMEROS_TEL);
                entity.SaveChanges();
            }
            catch (Exception ex)
            {
                ContaTelefoneContext.removeInstance();
                throw ex;
            }
        }

        public void Delete(NUMEROS_TEL pNUMEROS_TEL)
        {
            entity.NUMEROS_TEL.DeleteObject(pNUMEROS_TEL);
            entity.SaveChanges();
        }
    }
}
